The present invention relates to semiconductor storage systems and methods, and more particularly, to methods and systems of performing memory operations for accessing data in a burst mode transfer data storage environment, especially non-volatile semiconductor memory devices such as flash memory devices.
Generally, a flash memory device comprises an address sequencer, row and column decoders, sense amplifiers, write amplifiers, and a memory cell array. An example of a flash memory device is described in U.S. Pat. No. 5,490,107, the disclosure of which is herein incorporated by reference. The memory cell array contains a plurality of memory cells arranged in rows and columns. Each memory cell is capable of holding a single bit of information.
The memory cells in the memory cell array of a flash memory device are generally grouped into sub-arrays called memory cell blocks. Each memory cell block is coupled to a sense amplifier and a write amplifier. The write amplifier (W/A) applies a set of predetermined voltages to store information in the selected memory cells. This action is referred to as a program or write operation. Similarly, a set of predetermined voltages applied to the selected memory cells allows information to be discriminated and retrieved by the sense amplifier (S/A). This action is referred to as a read operation.
Generally, a read operation or a write operation is initiated in response to external signals provided by a controller, such as a processor. Likewise, information read or written into the flash memory device is generally transferred to and from the processor. In most cases, the amount of information transferred is large. Also, the rate at which the information is propagated from a controller to the flash memory device and vice versa is ever increasing. Therefore, increasing performance demands are constantly being imposed on a processor, the flash memory device, and also the communication interface between the processor and the flash memory device.
For instance, the processor, flash memory and other peripheral devices must compete for the use of the communication interface, e.g., a bus. However, a bus has a limited bandwidth for transferring information to and from the peripherals. Therefore, efficient bus utilization is generally highly desirable. Burst mode technology is one way to efficiently utilize the bus and to increase bus bandwidth. Burst mode technology combines individual read requests and write requests to memory into aggregates, with each aggregate being formed of many individual read requests or write requests. Burst mode technology transfers these aggregates in bursts, such that an aggregate of individual read requests are transferred followed by an aggregate of individual write requests. Therefore, groups of read or write requests can be serviced at the same time instead of individually, and therefore decrease bus overload and effectively increase bus bandwidth.
Also, the speed of read and write operations is often increased in order to realize higher performance flash memory devices. One such method to increase the speed of read operations is synchronization. By synchronizing the read operations to an external clock, the speed of the read operations is improved.
However, often the processor selects or enables only one of the peripherals to utilize the bus at any given time. The selection of the peripherals is usually performed in a predetermined order or randomly. Under certain conditions, a read operation may take longer to stabilize when the flash memory is enabled. The delay is often greater than one clock period of an external clock and thus disrupts the synchronization of the read operation to the external clock. As a result, incorrect data can be read from the selected memory cell. Therefore, the use of both burst mode technology and flash memory operations is therefore problematical.
Furthermore, the use of burst mode technology, generally, require an initial latency time in performing a memory operation. In some cases, the initial latency is required to prevent any disruption in operation of a peripheral operating at a low clock frequency. However, in cases in which the peripheral, such as the flash memory device, that operates at a high clock frequency, the initial latency can be bypassed to improve the performance speed of the flash memory device. Accordingly, methods and systems which overcome the obstacles of using of both burst mode technology and flash memory operations are desirable. Furthermore, increasing performance speed of the flash memory device using burst mode technology is also desirable.